package com.group.mapper;

import org.apache.ibatis.annotations.Param;
import pojo.dto.UserRecord;
import pojo.entity.Order;

import java.util.List;

/**
 * 用户账户操作Mapper接口
 */
public interface UserAccountMapper {

    /**
     * 根据userId查询用户余额
     *
     * @param userId
     * @return 用户余额
     */
    double selectByUserId(Long userId);

    /**
     * 根据用户id更新用户余额
     *
     * @param userId 用户id
     * @param money  充值金额
     * @return 成功返回1
     */
    int updateUserBalance(@Param("userId") Long userId, @Param("money") Double money);

    /**
     * 插入一个订单
     *
     * @param order 订单
     * @return 成功返回1
     */
    int insertOrder(Order order);

    /**
     * 查询用户交易记录(查询所有)
     *
     * @param userId 用户id
     * @return 用户交易记录集合，无则返回null
     */
    List<UserRecord> selectAllUserRecord(Long userId);
}
